<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <head>
        <script>
            // 一.写一个函数，用户输入任意两个数的任意算术运算（简单的计算器小功能）并能弹出运算后的结果
            var num1 = prompt('请输入第一个数')
            var num2 = prompt('请输入第二个数')
            var ys = prompt('1: 加法' + '\n' + '2：减法' + '\n' + '3：乘法' + '\n' + '4：除法' + '\n')
            function get(num1, num2) {
                return [parseFloat(num1) + parseFloat(num2), num1 - num2, num1 * num2, num1 / num2]
            }
            var re = (get(num1, num2))
            switch (ys) {
                //不知道为啥 '1' 就是不能用 不输出
                case '2':
                    alert(re[1])
                    break
                case '3':
                    alert(re[2])
                    break
                case '4':
                    alert(re[3])
                    break
                default:
                    alert(re[0])//用最终语句实现了 虽然还没搞明白为什么 case'1'输出不了
            }
            // alert(get(num1 = prompt('请输入第一个数')))
            // alert(get(num2 = prompt('请输入第二个数')))
            // alert(get(ys = prompt('1: 加法' + '\n' + '2：减法' + '\n' + '3：乘法' + '\n' + '4：除法' + '\n')))
            // var re = (get(num1, num2))





            // 二.写一个函数，用户输入任意两个数的最大值 并能弹出运算后的结果


            // function getMax(num1, num2) {
            //     return parseFloat(num1) > parseFloat(num2) ? num1 : num2
            // }
            // getMax(num1 = prompt('请输入第一个数'))
            // getMax(num2 = prompt('请输入第二个数'))
            // var jieguo = (getMax(num1, num2))
            // alert('最大值为' + jieguo)











            // 三.写一个函数，用户输入任意三个不同数字的最大值 并能弹出运算后的结果
            // 核心思路 需要一个存放最大数值得max 遍历数组 max 永远存放最大的值 max = arr[i]
            // function getMax(arr) {//3.接收实参的数值
            //     var max = arr[0]//4.定义一个最大值变量赋值为数组里的索引0（也就是第一个数组元素）
            //     for (var i = 1; i < arr.length; i++) {//5.遍历数组 0为max了 所以初始值从索引1开始
            //         if (parseFloat(arr[i]) > parseFloat(max))//6.输入的位字符型 比较需要转换为数字型
            //             max = arr[i] //7.根据执行过程6 max永远存放最大的那个值
            //     }
            //     return max//8.最后通过return把max值返回给函数
            // }
            // // 执行过程1.定义好三组变量并保存
            // getMax(num1 = prompt('请输入第一个数'))
            // getMax(num2 = prompt('请输入第二个数'))
            // getMax(num3 = prompt('请输入第三个数'))
            // var re = (getMax([num1, num2, num3]))//2.实参传递的是用户输入的一组数字 用数组的方式给形参[] 9.接收返回的 return max值 现在的getmax(([num1, num2, num3])) = max 函数名过长 所以重新赋值给一个新的变量 re 好调用些
            // alert(re)//10.输出结果








            // 四.写一个函数，用户输入一个数判断是否是素数 并反弹出回值（又叫质数 只能被1和自身整除的数）
            // 执行思路按序号排列
            // function get(num) {//2.形参 接收实参的值
            //     if (num == 1 || num == 0) {//3. 0和1先排除掉 因为他俩符合不条件
            //         return num + '非质数'
            //     }
            //     for (var i = 2; i < num; i++) {//4.建立循环 初始值为2 （因为1已结排除在外了） 条件表达式为：用户输入的数大于初始值即可 i<num（始终在这个范围嘛  不能理解把）
            //         if (num % i == 0) {//5只要num（用户输入的）能在i（2）< num 这个范围被整除余0那么就证明他不是质数 因为质数只能被1和自身整除
            //             return num + '不是质数'
            //         }
            //     }
            //     return num + '是质数'//6.所以 通过上面的验证在i（2） < num这个范围值里都不能被整除余0 那剩下的肯定都是质数了（质数只能被1和自身整除） 这就是逆向思维 反向推导
            // }
            // alert(get(Number = prompt('请输入数字')))//1.实参就是用户输入的值  7.也是最后一步调用导出结果。




           //函数里的每一句想要输出的语句 必须前面写return 否则不执行
            // function get(num) {
            //     if (num == 1 || num == 0) {
            //         return num + '不是质数'
            //     }
            //     for (var i = 2; i < num; i++) {
            //         if (num % i == 0) {
            //             return num + '不是质数'
            //         }
            //     }
            //     return num + ' 是质数'
            // }
            // alert(get(Number = prompt('请输入数字')))

        </script>
    </head>
</head>

<body>

</body>

</html>